package com.amtf.datafile2;

import java.util.List;

public interface DataCatalog<DT extends DataTable<DTD, DFD>, DTD extends DataTableDefinition<DFD>, DFD extends DataFieldDefinition> {

	public String getName();

	public void setName(String name);

	public int getDataTableCount();

	public List<DT> getDataTables() throws DataException;

	public DT getDataTable(int index);

	public DT getDataTable(String name) throws DataException;

	public DT dropDataTable(String name) throws DataException;

	// public TT addDataTable(String name) throws DataException;

	public void setDataTableDefinition(DTD definition) throws DataException;

	public DT createDataTable(String name, DTD definition) throws DataException;

	public void close();

	// public T getDefaultDefinition();
	//
	// public void setDefaultDefinition(T defaultDefinition);
}
